﻿using System;
using System.Collections.Generic;

namespace Sinacor.Servico.Bovespa.Cliente.Service.ServiceImplementation.Translator.BusinessEntityToDataContract
{
    /// <summary>
    /// Translator.BusinessEntityToDataContract Class - DicionarioErroExportacaoComitente
    /// </summary>
    public class DicionarioErroExportacaoComitente
    {
        #region ToErroExportacaoComitenteResponse

        /// <summary>
        /// Traduz uma entidade de negócio do tipo ErroExportacaoComitente para um contrato de dados ErroExportacaoComitenteResponse
        /// </summary>
        /// <param name="from">Entidade de negócio ErroExportacaoComitente</param>
        /// <returns>Contrato de dados ErroExportacaoComitenteResponse</returns>
        public DataContract.Response.ErroExportacaoComitenteResponse ToErroExportacaoComitenteResponse(BusinessEntity.ErroExportacaoComitente from)
        {
            DataContract.Response.ErroExportacaoComitenteResponse to = new DataContract.Response.ErroExportacaoComitenteResponse();

            to.Codigo = from.Codigo;
            to.Descricao = from.Descricao;

            return to;
        }

        /// <summary>
        /// Realiza um looping pelos items, fazendo chamada ao método de tradução ToErroExportacaoComitenteResponse() que recebe apenas um item        
        /// </summary>
        /// <param name="from">Lista de entidades de negócio ErroExportacaoComitente</param>
        /// <returns>Lista de contrato de dados ErroExportacaoComitenteResponse</returns>
        public List<DataContract.Response.ErroExportacaoComitenteResponse> ToErroExportacaoComitenteResponse(List<BusinessEntity.ErroExportacaoComitente> from)
        {
            List<DataContract.Response.ErroExportacaoComitenteResponse> to = new List<DataContract.Response.ErroExportacaoComitenteResponse>();
            foreach (BusinessEntity.ErroExportacaoComitente itemFrom in from)
            {
                to.Add(this.ToErroExportacaoComitenteResponse(itemFrom));
            }

            return to;
        }

        #endregion
    }
}
